#ifndef _CkSpider_H
#define _CkSpider_H
#include "Chilkat_C.h"

HCkSpider CkSpider_Create(void);
void CkSpider_Dispose(HCkSpider handle);
BOOL CkSpider_getAvoidHttps(HCkSpider handle);
void CkSpider_putAvoidHttps(HCkSpider handle, BOOL newVal);
void CkSpider_getCacheDir(HCkSpider handle, HCkString retval);
void CkSpider_putCacheDir(HCkSpider handle, const char *newVal);
BOOL CkSpider_getChopAtQuery(HCkSpider handle);
void CkSpider_putChopAtQuery(HCkSpider handle, BOOL newVal);
int CkSpider_getConnectTimeout(HCkSpider handle);
void CkSpider_putConnectTimeout(HCkSpider handle, int newVal);
void CkSpider_getDomain(HCkSpider handle, HCkString retval);
BOOL CkSpider_getFetchFromCache(HCkSpider handle);
void CkSpider_putFetchFromCache(HCkSpider handle, BOOL newVal);
long CkSpider_getHeartbeatMs(HCkSpider handle);
void CkSpider_putHeartbeatMs(HCkSpider handle, long newVal);
void CkSpider_getLastErrorHtml(HCkSpider handle, HCkString retval);
void CkSpider_getLastErrorText(HCkSpider handle, HCkString retval);
void CkSpider_getLastErrorXml(HCkSpider handle, HCkString retval);
BOOL CkSpider_getLastFromCache(HCkSpider handle);
void CkSpider_getLastHtml(HCkSpider handle, HCkString retval);
void CkSpider_getLastHtmlDescription(HCkSpider handle, HCkString retval);
void CkSpider_getLastHtmlKeywords(HCkSpider handle, HCkString retval);
void CkSpider_getLastHtmlTitle(HCkSpider handle, HCkString retval);
void CkSpider_getLastModDate(HCkSpider handle, SYSTEMTIME *retval);
void CkSpider_getLastModDateStr(HCkSpider handle, HCkString retval);
void CkSpider_getLastUrl(HCkSpider handle, HCkString retval);
int CkSpider_getMaxResponseSize(HCkSpider handle);
void CkSpider_putMaxResponseSize(HCkSpider handle, int newVal);
int CkSpider_getMaxUrlLen(HCkSpider handle);
void CkSpider_putMaxUrlLen(HCkSpider handle, int newVal);
int CkSpider_getNumAvoidPatterns(HCkSpider handle);
int CkSpider_getNumFailed(HCkSpider handle);
int CkSpider_getNumOutboundLinks(HCkSpider handle);
int CkSpider_getNumSpidered(HCkSpider handle);
int CkSpider_getNumUnspidered(HCkSpider handle);
void CkSpider_getProxyDomain(HCkSpider handle, HCkString retval);
void CkSpider_putProxyDomain(HCkSpider handle, const char *newVal);
void CkSpider_getProxyLogin(HCkSpider handle, HCkString retval);
void CkSpider_putProxyLogin(HCkSpider handle, const char *newVal);
void CkSpider_getProxyPassword(HCkSpider handle, HCkString retval);
void CkSpider_putProxyPassword(HCkSpider handle, const char *newVal);
int CkSpider_getProxyPort(HCkSpider handle);
void CkSpider_putProxyPort(HCkSpider handle, int newVal);
int CkSpider_getReadTimeout(HCkSpider handle);
void CkSpider_putReadTimeout(HCkSpider handle, int newVal);
BOOL CkSpider_getUpdateCache(HCkSpider handle);
void CkSpider_putUpdateCache(HCkSpider handle, BOOL newVal);
void CkSpider_getUserAgent(HCkSpider handle, HCkString retval);
void CkSpider_putUserAgent(HCkSpider handle, const char *newVal);
BOOL CkSpider_getUtf8(HCkSpider handle);
void CkSpider_putUtf8(HCkSpider handle, BOOL newVal);
int CkSpider_getWindDownCount(HCkSpider handle);
void CkSpider_putWindDownCount(HCkSpider handle, int newVal);
void CkSpider_AddAvoidOutboundLinkPattern(HCkSpider handle, const char *pattern);
void CkSpider_AddAvoidPattern(HCkSpider handle, const char *pattern);
void CkSpider_AddMustMatchPattern(HCkSpider handle, const char *pattern);
void CkSpider_AddUnspidered(HCkSpider handle, const char *url);
void CkSpider_CanonicalizeUrl(HCkSpider handle, const char *url, HCkString urlOut);
void CkSpider_ClearFailedUrls(HCkSpider handle);
void CkSpider_ClearOutboundLinks(HCkSpider handle);
void CkSpider_ClearSpideredUrls(HCkSpider handle);
BOOL CkSpider_CrawlNext(HCkSpider handle);
BOOL CkSpider_FetchRobotsText(HCkSpider handle, HCkString strOut);
BOOL CkSpider_GetAvoidPattern(HCkSpider handle, long index, HCkString strOut);
void CkSpider_GetBaseDomain(HCkSpider handle, const char *domain, HCkString domainOut);
void CkSpider_GetDomain(HCkSpider handle, const char *url, HCkString domainOut);
BOOL CkSpider_GetFailedUrl(HCkSpider handle, long index, HCkString strOut);
BOOL CkSpider_GetOutboundLink(HCkSpider handle, long index, HCkString strOut);
BOOL CkSpider_GetSpideredUrl(HCkSpider handle, long index, HCkString strOut);
BOOL CkSpider_GetUnspideredUrl(HCkSpider handle, long index, HCkString strOut);
void CkSpider_Initialize(HCkSpider handle, const char *domain);
BOOL CkSpider_RecrawlLast(HCkSpider handle);
BOOL CkSpider_SaveLastError(HCkSpider handle, const char *filename);
void CkSpider_SkipUnspidered(HCkSpider handle, long index);
void CkSpider_SleepMs(HCkSpider handle, long millisec);
const char *CkSpider_avoidPattern(HCkSpider handle, long index);
const char *CkSpider_cacheDir(HCkSpider handle);
const char *CkSpider_canonicalizeUrl(HCkSpider handle, const char *url);
const char *CkSpider_domain(HCkSpider handle);
const char *CkSpider_failedUrl(HCkSpider handle, long index);
const char *CkSpider_fetchRobotsText(HCkSpider handle);
const char *CkSpider_getAvoidPattern(HCkSpider handle, long index);
const char *CkSpider_getBaseDomain(HCkSpider handle, const char *domain);
const char *CkSpider_getUrlDomain(HCkSpider handle, const char *url);
const char *CkSpider_getFailedUrl(HCkSpider handle, long index);
const char *CkSpider_getOutboundLink(HCkSpider handle, long index);
const char *CkSpider_getSpideredUrl(HCkSpider handle, long index);
const char *CkSpider_getUnspideredUrl(HCkSpider handle, long index);
const char *CkSpider_lastErrorHtml(HCkSpider handle);
const char *CkSpider_lastErrorText(HCkSpider handle);
const char *CkSpider_lastErrorXml(HCkSpider handle);
const char *CkSpider_lastHtml(HCkSpider handle);
const char *CkSpider_lastHtmlDescription(HCkSpider handle);
const char *CkSpider_lastHtmlKeywords(HCkSpider handle);
const char *CkSpider_lastHtmlTitle(HCkSpider handle);
const char *CkSpider_lastModDateStr(HCkSpider handle);
const char *CkSpider_lastUrl(HCkSpider handle);
const char *CkSpider_outboundLink(HCkSpider handle, long index);
const char *CkSpider_proxyDomain(HCkSpider handle);
const char *CkSpider_proxyLogin(HCkSpider handle);
const char *CkSpider_proxyPassword(HCkSpider handle);
const char *CkSpider_spideredUrl(HCkSpider handle, long index);
const char *CkSpider_unspideredUrl(HCkSpider handle, long index);
const char *CkSpider_userAgent(HCkSpider handle);
#endif
